<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------
use think\Db;

// 应用公共文件
/**
 * 获取状态信息函数
 * @param type $status
 * @return string
 */
function getStatus($status){
    if($status == 1){
        $str = "<span class='label label-success radius'>正常</span>";
    } else {
        $str = "<span class='label label-defaunt radius'>已下架</span>";
    }
    return $str;
}

/**
 * 获取父级分类的名称
 * @param type $parentId
 * @return type
 */
function getParentId($parentId){
    if($parentId == 0){
        $str = "顶级分类";
    }else{
        $str = Db::name('category')
            ->where('id',$parentId)
            ->value('name');
    }
    return $str;
}

/**
 * 获取父级城市的名称
 * @param type $parentId
 * @return type
 */
function getParentCityById($parentId){
    if($parentId == 0){
        $str = "顶级分类";
    }else{
        $str = Db::name('city')
            ->where('id',$parentId)
            ->value('name');
    }
    return $str;
}

/**
 * 通用的分页样式
 * @param $obj
 * @return string
 */
function pagination($obj) {
    if(!$obj) {
        return '';
    }
    // 优化的方案
    $params = request()->param();
    return '<div class="cl pd-5 bg-1 bk-gray mt-20 tp5-o2o">'.$obj->appends($params)->render().'</div>';
}

/**
 * 邮件发送模板
 * @param $to 目标邮箱
 * @param $username 用户名
 * @param $emailtitle 邮件标题
 * @param $emailcontent 邮箱内容
 * @return bool
 */
function sendEmailTo($to, $username, $emailtitle, $content){
    $emaildate=date('Y-m-d h:i:s',time());
    $emailcontent = "";
    $emailcontent.='<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head><body><div style="font-family:黑体;min-height:300px; background:#57bfaa;min-width:300px;max-width: 1000px;border: 0px solid #ccc; margin: auto;">';
    $emailcontent.='<div style="width: 100%;font-size:20px;text-align: center;background: #4484c5; height: 50px;color: #FFF;line-height: 50px">邮件提醒</div>';
    $emailcontent.='<div style="padding: 20px;color: #fff">';
    $emailcontent.='<h3>尊敬的【'.$username.'】你好：</h3>';
    $emailcontent.='<p style="line-height: 30px">'.$content.'</p>';
    $emailcontent.='<p style="line-height: 30px">此邮件为系统自动发送，请勿直接回复！</p>';
    $emailcontent.='<p style="text-align: right;">斜杆青年团队</p>';
    $emailcontent.='<p style="text-align: right;">'.$emaildate.'</p>';
    $emailcontent.='</div>';
    $emailcontent.='</div></body></html>';
    if(\phpmailer\Email::send($to,$emailtitle,$emailcontent)){
        return true;
    }else{
        return false;
    }
}

/**
 * 功能：对字符串进行加密处理
 * @param $str 需要加密的内容
 * @param $key 密钥
 * @return string 加密后内容
 */
function passport_encrypt($str,$key = 1045){ //加密函数
    srand((double)microtime() * 1000000);
    $encrypt_key=md5(rand(0, 32000));
    $ctr=0;
    $tmp='';
    for($i=0;$i<strlen($str);$i++){
        $ctr=$ctr==strlen($encrypt_key)?0:$ctr;
        $tmp.=$encrypt_key[$ctr].($str[$i] ^ $encrypt_key[$ctr++]);
    }
    return base64_encode(passport_key($tmp,$key));
}

/**
 * 功能：对字符串进行解密处理
 * @param $str 密文
 * @param $key 密钥
 * @return string 原文
 */
function passport_decrypt($str,$key = 1045){ //解密函数
    $str=passport_key(base64_decode($str),$key);
    $tmp='';
    for($i=0;$i<strlen($str);$i++){
        $md5=$str[$i];
        $tmp.=$str[++$i] ^ $md5;
    }
    return $tmp;
}

/**
 * 加密辅助函数
 * @param $str
 * @param $encrypt_key
 * @return string
 */
function passport_key($str,$encrypt_key){
    $encrypt_key=md5($encrypt_key);
    $ctr=0;
    $tmp='';
    for($i=0;$i<strlen($str);$i++){
        $ctr=$ctr==strlen($encrypt_key)?0:$ctr;
        $tmp.=$str[$i] ^ $encrypt_key[$ctr++];
    }
    return $tmp;
}

/**
 * 根据value值判断男女
 * @param $value
 * @return string
 */
function getSex($value){
    $sex = "";
    switch ($value){
        case 1 : $sex = "男";break;
        case 2 : $sex = "女";break;
        default : $sex = "未填写";break;
    }
    return $sex;
}

/**
 * 根据value值判断用户类型
 * @param $value
 * @return string
 */
function getUserType($value){
    switch ($value){
        case 1 : $result = "入驻者（待审核）";break;
        case 2 : $result = "入驻者";break;
        default : $result = "普通用户";break;
    }
    return $result;
}